clear variables
syms C R R1 R2 R3 T U t
assume(0 < R1 & 0 < R2 & 0 < R3 & 0 < R & 0 < C & 0 < U & 0 < T)
syms DuC i1 i2 iC iR2 u uC uR1 uR2 ug
jednacine = [ug == uR1 + uC,...
uR1 == R1 * i1,...
iC == C * DuC,...
uR2 == R2 * iR2,...
uR2 == uC,...
i1 == iR2 + iC,...
i2 == i1,...
u == -(R3 * i2)]
jednacine = 
jednacineIzvoda = eliminate(jednacine, [i1, iC, uR1, iR2, uR2, i2, u])
jednacineIzvoda = 
jednacineStanje = solve(jednacineIzvoda, DuC)
jednacineStanje = 
Rešavanje diferencijalne jednačine
syms uC(t)
PromenljiveStanjaIzvodi = [uC == uC(t), DuC == diff(uC(t), t)]
PromenljiveStanjaIzvodi(t) = 
zamene = [R1 == R, R2 == R, R3 == R, T == R * C]
zamene = 
pobuda = ug == heaviside(t)
pobuda = 
JS = subs(jednacineStanje, lhs([PromenljiveStanjaIzvodi pobuda zamene]), rhs([PromenljiveStanjaIzvodi pobuda zamene]))
JS = 
f_uC = dsolve(diff(uC(t)) == JS, uC(0)==0, 'IgnoreAnalyticConstraints', false)
f_uC = 
Grinova funkcija
g_uC(t) = simplify(diff(f_uC,t))
g_uC(t) = 
Generatori
syms U
ug_1(t) = U;
ug_2(t) = -U*(t-2*T)/T;
ug_3(t) = sym(0);
ug_tot(t) = piecewise((0<t<=T),ug_1(t), (T<t)&(t<=2*T),ug_2(t), (2*T<t),ug_3(t) )
ug_tot(t) = 
Konvolucioni integral
syms tau
syms uC_1(t)
assume((0 < t)&(t<=T));
uC_1(t) = int(ug_1(tau) * g_uC(t-tau), tau, 0, t)
uC_1(t) = 
syms i2_1(t) i1_1(t)
i1_1(t) = subs(1/R * (ug_1(t) - uC_1(t)), lhs(zamene), rhs(zamene));
i2_1(t) = i1_1(t);
u2_1(t) = simplify( -(R * i2_1(t)) )
u2_1(t) = 
syms uC_2(t)
assume((0 < T)&(T < t) & (t <= 2*T));
uC_2(t) = int(ug_1(tau) * g_uC(t - tau), tau, sym(0), T) + int(ug_2(tau) * g_uC(t - tau), tau, T, t)
uC_2(t) = 
simplify(subs(uC_2(t), lhs(zamene), rhs(zamene)))
ans = 
i1_2(t) = subs(1/R * (ug_2(t) - uC_2(t)), lhs(zamene), rhs(zamene));
i2_2(t) = i1_2(t);
u2_2(t) = simplify( -(R * i2_2(t)) )
u2_2(t) = 
syms uC_3(t)
assume((2*T < t) & (0 < T));
uC_3(t) = int(ug_1(tau) * g_uC(t - tau), tau, 0, T) + int(ug_2(tau) * g_uC(t - tau), tau, T, 2*T)
uC_3(t) = 
i1_3(t) = subs(1/R * (ug_3(t) - uC_3(t)), lhs(zamene), rhs(zamene));
i2_3(t) = i1_3(t);
syms u2_3(t)
u2_3(t) = simplify( -(R * i2_3(t)) )
u2_3(t) = 
simplify(u2_3(t))
ans = 
vrednosti = [R == 1e3, C == 1e-6, U == 10, T == 1e-3]
vrednosti = 
u2(t) = simplify(subs(piecewise((0 < t) <= T, u2_1(t),...
(T < t)&(t<=2*T), u2_2(t),...
(2*T < t), u2_3(t)), lhs(vrednosti), rhs(vrednosti)))
u2(t) = 
ug(t) = subs(ug_tot(t), lhs(vrednosti),rhs(vrednosti))
ug(t) = 
Crtanje grafika
figure
fplot( t, u2(t), [0 5e-3])
hold on
fplot( t, ug(t), [0 5e-3])
hold off
grid on
xlabel('t')
ylabel('u2(t)')
legend({'u2(t)','ug(t)'})